1 RESTORE 1:DATA 400,BMD,300,MAX,250,SID,200,BOB,100,OXO:FOR X=1 TO 5:READ Y(X),Y$(X):NEXT:KEY OFF
2 DIM V(99):DIM U(99)
3 SOUND ON:PLAY "mb"
5 REM FLUF! PROGRAMMED BY BROOKS DEFOREST
10 REM COPYRIGHT 1990 RUFUSPRO
14 SCREEN 2:SCREEN 3:FOR P=0 TO 15:PALETTE P,1:NEXT:BLOAD "FLUF.SPR":COLOR 1,1
15 OPEN "I",#1,"FLUF.LOC"
20 DIM A(50):DIM B(50):DIM C(50):DIM D(50):DIM E(50):DIM F(50):DIM G(50):DIM H(50):DIM I(50):DIM J(50):DIM K(50):DIM L(50):DIM M(50):DIM N(50):DIM O(50):DIM P(50):DIM Q(50):DIM R(200):DIM S(300)
40 FOR Z=1 TO 19
45 INPUT #1,A,B,C,D
50 IF Z=1 THEN GET(A,B)-(C,D),A
51 IF Z=2 THEN GET(A,B)-(C,D),B
52 IF Z=3 THEN GET(A,B)-(C,D),C
53 IF Z=4 THEN GET(A,B)-(C,D),D
54 IF Z=5 THEN GET(A,B)-(C,D),E
55 IF Z=6 THEN GET(A,B)-(C,D),F
56 IF Z=7 THEN GET(A,B)-(C,D),G
57 IF Z=8 THEN GET(A,B)-(C,D),H
58 IF Z=9 THEN GET(A,B)-(C,D),I
59 IF Z=10 THEN GET(A,B)-(C,D),J
60 IF Z=11 THEN GET(A,B)-(C,D),K
61 IF Z=12 THEN GET(A,B)-(C,D),L
62 IF Z=13 THEN GET(A,B)-(C,D),M
63 IF Z=14 THEN GET(A,B)-(C,D),N
64 IF Z=15 THEN GET(A,B)-(C,D),O
65 IF Z=16 THEN GET(A,B)-(C,D),P
66 IF Z=17 THEN GET(A,B)-(C,D),Q
67 IF Z=18 THEN GET(A,B)-(C,D),R
68 IF Z=19 THEN GET(A,B)-(C,D),S
70 NEXT
75 CLS:FOR P=0 TO 15:PALETTE P,9:NEXT:BLOAD "BACK.SPR":DIM BACK(1300):COLOR 1,9:GET(112,0)-(159,199),BACK
95 SCREEN 2:SCREEN 3
100 CLS:FOR A=1 TO 25:PSET(RND*160,RND*200),1:PSET(RND*160,RND*200),4:SOUND RND*1000,.1,15,1:NEXT
101 FOR V=15 TO 0 STEP -1:SOUND V*V,1,V,0:NEXT:PUT(47,10),S,PSET
102 P2=0:DX=0:DY=0
105 COLOR 15:LOCATE 8,3:PRINT "(C)1989 RUFUSPRO"
110 COLOR 10:LOCATE 10,5:PRINT "BY B.DEFOREST"
115 COLOR 14:LOCATE 15,2:PRINT "1: START"
120 LOCATE 17,2:PRINT "2: HI SCORES
125 LOCATE 19,2:PRINT "3: QUIT"
130 A$=INKEY$
131 PSET(DX,DY),P2:DX=RND*159:DY=RND*199:P2=POINT(DX,DY):PSET(DX,DY),15
135 IF A$="1" THEN 300
140 IF A$="2" THEN 200
145 IF A$="3" THEN SCREEN 2:SCREEN 0:NEW
150 GOTO 130
200 CLS:FOR A=1 TO 25:PSET(RND*160,RND*200),12:PSET(RND*159,RND*199),10:SOUND RND*1000,.1,15,1:NEXT
201 FOR V=15 TO 0 STEP -2:NOISE 4,V,1:NOISE 7,V,1:NEXT:PUT(47,10),S,PSET
202 P2=0:DX=0:DY=0
205 COLOR 12:LOCATE 8,3:PRINT "TODAYS BEST FIVE"
210 COLOR 2:X=1:LOCATE 11,6:PRINT Y(X):LOCATE 11,10:COLOR 4:PRINT "::":LOCATE 11,12:COLOR 2:PRINT Y$(X)
215 Y=11:FOR X=2 TO 5
220 Y=Y+2:COLOR 11:LOCATE Y,6:PRINT Y(X):COLOR 4:LOCATE Y,10:PRINT "::":COLOR 11:LOCATE Y,12:PRINT Y$(X)
225 NEXT
230 WHILE INKEY$="":PALETTE 2,1+(RND*6):PSET(DX,DY),P2:DX=RND*159:DY=RND*199:P2=POINT(DX,DY):PSET(DX,DY),15:WEND:PALETTE 2,2
235 GOTO 100
300 S=0:L=3:LEVEL=0
305 CLS:FOR P=0 TO 15:PALETTE P,0:NEXT:PUT(112,0),BACK,PSET:FOR P=1 TO 15:PALETTE P,P:SOUND P*P*P,1,15,0:NEXT
310 RESTORE 320
315 COLOR 10:LOCATE 11,16:PRINT STRING$(L,4)
320 DATA 0,0,0,0,0,0,6
321 DATA 0,8,8,8,8,8,8
322 DATA 0,0,0,0,0,0,8
323 DATA 8,8,8,8,8,0,8
324 DATA 0,0,0,0,8,0,0
325 DATA 0,8,8,0,8,8,0
326 DATA 0,2,8,0,0,0,0
327 DATA 8,0,8,8,8,0,0
328 DATA 0,0,0,8,0,0,1
329 DATA 0,8,0,0,8,0,0
330 DATA 0,0,8,8,8,8,0
331 DATA 8,0,0,0,0,0,0
350 GOTO 1000
390 VIEW SCREEN (0,0)-(111,199):CLS:TOT=0
391 IF LEVEL<4 THEN 394 ELSE IF LEVEL=>4 AND LEVEL<8 THEN GOSUB 8000 ELSE IF LEVEL=>8 AND LEVEL<12 THEN GOSUB 8020
393 GOTO 400
394 AA=.5:FOR A=1 TO 11:LINE(0,100+AA)-(112,100+AA),2:AA=AA+AA:NEXT
395 T1=-240:FOR T=0 TO 112 STEP 6:LINE(T,101)-(T1,200),10:T1=T1+30:NEXT
396 AA=.1:FOR A=1 TO 25:LINE(0,100-AA)-(112,100-AA),1:AA=AA+AA/2:NEXT
399 TOT=0
400 TOTAL=0:GHOST=0:SUN=0:BOTTLE=0:X=0:Y=0
403 GOSUB 1035
404 FOR U=0 TO 83:READ V(U):IF V(U)=8 THEN 414
405 IF V(U)=0 THEN PUT(X,Y),B,PSET:GOTO 414 ELSE IF V(U)=1 THEN PUT(X,Y),H,PSET ELSE IF V(U)=2 THEN PUT(X,Y),J,PSET ELSE IF V(U)=3 THEN PUT(X,Y),L,PSET ELSE IF V(U)=4 THEN PUT(X,Y),M,PSET ELSE IF V(U)=5 THEN PUT(X,Y),C,PSET:GOTO 415
410 IF V(U)=6 THEN XX=X:YY=Y:PUT(X,Y),E,PSET
411 IF V(U)=1 THEN S1=X:S2=Y:SUN=1:V(U)=0
412 IF V(U)=2 THEN G1=X:G2=Y:GHOST=1:V(U)=0
413 IF V(U)=3 THEN B1=X:B2=Y:BOTTLE=1:V(U)=0
414 IF V(U)<>8 AND V(U)<>5 THEN TOTAL=TOTAL+1
415 X=X+16:IF X>110 THEN X=0:Y=Y+16
416 SOUND U*U,1,15,0
420 NEXT
421 X2=XX:Y2=YY:GG1=G1:GG2=G2:SS1=S1:SS2=S2:BB1=B1:BB2=B2
422 TOTAL=TOTAL-1
425 A1$=STR$(S):A1$=RIGHT$(A1$,LEN(A1$)-1):A2$=STR$(LEVEL):A2$=RIGHT$(A2$,LEN(A2$)-1):COLOR 14:LOCATE 7,16:PRINT A1$:COLOR 12:LOCATE 15,16:PRINT A2$
430 IF XX>1 AND STICK(0)<30 THEN XX=XX-16:GOSUB 500 ELSE IF XX<90 AND STICK(0)>90 THEN XX=XX+16:GOSUB 500
435 IF YY>1 AND STICK(1)<30 THEN YY=YY-16:GOSUB 500 ELSE IF YY<170 AND STICK(1)>90 THEN YY=YY+16:GOSUB 500
440 IF SUN=1 THEN GOSUB 600
445 IF GHOST=1 THEN GOSUB 700
450 IF BOTTLE=1 THEN GOSUB 800
495 GOTO 430
500 REM
501 Y=0:X=0
505 REM
506 IF YY<>0 THEN Y=YY/16
507 IF XX<>0 THEN X=XX/16
510 U=0:IF Y<>0 THEN U=Y*7
511 U=U+X:IF V(U)=5 THEN 6000 ELSE IF V(U)=4 THEN TOT=TOT+1:GOTO 7000
515 IF V(U)=8 THEN XX=X2:YY=Y2:NOISE 2,15,.5:GOTO 500 ELSE PUT(X2,Y2),A,PSET:PUT(XX,YY),E,PSET:IF V(U)=0 THEN V(U)=7:S=S+1:TOT=TOT+1:X2=XX:Y2=YY:IF TOT=TOTAL THEN 1000 ELSE NOISE 0,15,1:V(U)=7:GOTO 590
516 X2=XX:Y2=YY:NOISE 4,15,.5
518 IF SUN=1 AND XX=S1 AND YY=S2 THEN 5000
519 IF GHOST=1 AND G1=XX AND G2=YY THEN 5000
520 IF BOTTLE=1 AND B1=XX AND B2=YY THEN 5000
525 V(U)=7
550 RETURN
590 A1$=STR$(S):A1$=RIGHT$(A1$,LEN(A1$)-1):COLOR 14:LOCATE 7,16:PRINT A1$:RETURN
600 IF RND*10<3 THEN RETURN
601 Y=0:X=0
605 IF RND*10<5 AND S1<90 THEN S1=S1+16 ELSE IF S1>1 THEN S1=S1-16
610 IF RND*10<5 AND S2>1 THEN S2=S2-16 ELSE IF RND*10<5 AND S2<170 THEN S2=S2+16
612 IF SS1<>0 THEN X=SS1/16
613 IF SS2<>0 THEN Y=SS2/16
614 U=0:IF Y<>0 THEN U=Y*7
615 U=U+X
616 C2=V(U)
617 Y=0:X=0
618 IF S1<>0 THEN X=S1/16
619 IF S2<>0 THEN Y=S2/16
620 U=0:IF Y<>0 THEN U=Y*7
621 U=U+X:IF V(U)=8 THEN S1=SS1:S2=SS2:RETURN
622 IF C2=0 THEN PUT(SS1,SS2),B,PSET ELSE PUT(SS1,SS2),A,PSET
623 IF V(U)=0 THEN PUT(S1,S2),H,PSET ELSE PUT(S1,S2),G,PSET
624 IF V(U)=4 THEN V(U)=0:FOR V=15 TO 0 STEP -1:FOR A=500 TO 800 STEP 20:SOUND A,.1,V,2:NEXT:NEXT
625 IF C2=5 THEN PUT(SS1,SS2),B,PSET
630 SOUND 900,1,15,1:SOUND 500,1,15,1
635 IF S1=XX AND S2=YY THEN 5000
654 SS1=S1:SS2=S2:RETURN
700 REM
701 Y=0:X=0
705 IF RND*10<5 AND G1<90 THEN G1=G1+16 ELSE IF G1>1 THEN G1=G1-16
710 IF RND*10<5 AND G2>1 THEN G2=G2-16 ELSE IF RND*10<5 AND G2<170 THEN G2=G2+16
712 IF GG1<>0 THEN X=GG1/16
713 IF GG2<>0 THEN Y=GG2/16
714 U=0:IF Y<>0 THEN U=Y*7
715 U=U+X
716 C2=V(U)
717 Y=0:X=0
718 IF G1<>0 THEN X=G1/16
719 IF G2<>0 THEN Y=G2/16
720 U=0:IF Y<>0 THEN U=Y*7
721 U=U+X:IF V(U)=8 THEN G1=GG1:G2=GG2:RETURN
722 IF C2=0 THEN PUT(GG1,GG2),B,PSET ELSE PUT(GG1,GG2),A,PSET
723 IF V(U)=0 THEN PUT(G1,G2),J,PSET ELSE PUT(G1,G2),I,PSET
724 IF V(U)=6 THEN 2000
730 SOUND 1,1,15,0:SOUND 150,1,15,0
735 IF G1=XX AND G2=YY THEN 5000
750 GG1=G1:GG2=G2:RETURN
800 REM
801 Y=0:X=0
805 IF RND*10<3 AND B1<90 THEN B1=B1+16 ELSE IF B1>1 THEN B1=B1-16
810 IF RND*10<3 AND B2>1 THEN B2=B2-16 ELSE IF RND*10<5 AND B2<170 THEN B2=B2+16
812 IF BB1<>0 THEN X=BB1/16
813 IF BB2<>0 THEN Y=BB2/16
814 U=0:IF Y<>0 THEN U=Y*7
815 U=U+X
816 C2=V(U)
817 Y=0:X=0
818 IF B1<>0 THEN X=B1/16
819 IF B2<>0 THEN Y=B2/16
820 U=0:IF Y<>0 THEN U=Y*7
821 U=U+X:IF V(U)=8 THEN B1=BB1:B2=BB2:RETURN
822 IF C2=0 THEN PUT(BB1,BB2),B,PSET ELSE PUT(BB1,BB2),A,PSET
823 IF V(U)=0 THEN PUT(B1,B2),L,PSET ELSE PUT(B1,B2),K,PSET
824 IF V(U)=6 THEN 2000
825 IF V(U)=7 AND RND*10<3 THEN V(U)=0:TOT=TOT-1
830 SOUND 1,1,15,0:SOUND 150,1,15,0
832 SOUND 700,1,15,1:SOUND 800,1,13,0:SOUND 700,1,10,1
835 IF B1=XX AND B2=YY THEN 5000
850 BB1=B1:BB2=B2:RETURN
1000 RESTORE 1005
1001 SOUND ON:PLAY "MB"
1003 P=2
1004 FOR T=277 TO 139 STEP -8:SOUND T,1,15,0:SOUND T+200,1,15,1:NEXT
1005 DATA 139,830,208,784,277,698,208,784,156,830,233,932,311,784,233,622,175,698,262,698,349,698,262,698,175,698
1010 FOR Z=1 TO 13:READ A,B
1015 SOUND A+P,1,15,0:SOUND B,1,15,1:SOUND A-P,1,15,0:SOUND B,1,14,1:SOUND A+P,1,15,0:SOUND B,1,12,1:SOUND A-P,1,15,0:SOUND B,1,10,1
1020 NEXT
1024 FOR P=0 TO 1700:NEXT
1025 FOR V=15 TO 0 STEP -3:NOISE 5,V,1:NOISE 4,V,1:NEXT
1030 LEVEL=LEVEL+1
1031 P=3:RESTORE 1005:FOR Z=1 TO 13:READ A,B:SOUND A+P,1,15,0:SOUND A-P,1,15,0:SOUND A+P,1,15,0:SOUND A-P,1,15,0:NEXT
1032 GOTO 390
1035 IF LEVEL=1 THEN RESTORE 2000
1040 IF LEVEL=2 THEN RESTORE 2050
1045 IF LEVEL=3 THEN RESTORE 2100
1050 IF LEVEL=4 THEN RESTORE 2150
1055 IF LEVEL=5 THEN RESTORE 2200
1060 IF LEVEL=6 THEN RESTORE 2250
1065 IF LEVEL=7 THEN RESTORE 2300
1070 IF LEVEL=8 THEN RESTORE 2350
1075 IF LEVEL=9 THEN RESTORE 2400
1080 IF LEVEL=10 THEN RESTORE 2450
1085 IF LEVEL=11 THEN RESTORE 2500
1090 IF LEVEL=12 THEN RESTORE 2550
1099 RETURN
1100 GOTO 390
2000 DATA 0,0,0,0,0,0,0
2001 DATA 0,0,0,8,0,6,0
2002 DATA 0,0,0,8,0,0,0
2003 DATA 0,0,0,8,0,0,0
2004 DATA 0,0,0,8,0,0,0
2005 DATA 0,0,0,8,0,0,0
2006 DATA 0,0,0,8,0,0,0
2007 DATA 0,0,0,8,0,0,0
2008 DATA 0,0,0,8,0,0,0
2009 DATA 0,1,0,8,0,0,0
2010 DATA 0,0,0,8,0,0,0
2011 DATA 0,0,0,0,0,0,0
2050 DATA 6,0,0,0,0,0,0
2051 DATA 0,8,0,8,8,8,0
2052 DATA 0,0,0,8,0,1,0
2053 DATA 8,8,0,8,0,8,8
2054 DATA 0,0,0,8,0,8,8
2055 DATA 0,8,0,8,0,0,0
2056 DATA 0,8,0,8,8,8,0
2057 DATA 0,8,0,0,0,0,0
2058 DATA 0,0,2,8,0,8,8
2059 DATA 8,0,8,8,0,0,0
2060 DATA 8,0,8,8,8,8,0
2061 DATA 8,0,0,0,0,0,0
2100 DATA 8,0,0,0,0,0,8
2101 DATA 0,0,8,8,8,0,0
2102 DATA 0,0,8,8,8,8,0
2103 DATA 3,0,8,8,8,0,0
2104 DATA 0,8,0,6,0,0,8
2105 DATA 0,8,8,0,8,0,8
2106 DATA 0,4,0,0,0,0,0
2107 DATA 8,0,8,0,8,8,0
2108 DATA 8,0,8,0,8,0,0
2109 DATA 8,0,0,5,0,0,8
2110 DATA 8,0,0,8,8,0,8
2111 DATA 0,0,0,0,0,0,0
2150 DATA 4,0,0,0,0,0,0
2151 DATA 0,8,8,8,0,8,5
2152 DATA 0,8,0,0,0,0,0
2153 DATA 0,8,1,8,0,8,0
2154 DATA 0,0,5,8,0,8,0
2155 DATA 0,8,0,8,0,8,0
2156 DATA 5,8,0,8,0,8,0
2157 DATA 0,8,0,8,0,8,0
2158 DATA 0,8,0,0,0,8,0
2159 DATA 0,8,0,8,8,8,5
2160 DATA 0,8,0,8,8,8,2
2161 DATA 6,0,0,0,0,0,0
2200 DATA 0,0,0,0,5,0,0
2201 DATA 1,8,8,0,8,8,0
2202 DATA 0,0,5,0,0,8,0
2203 DATA 0,8,8,8,0,8,0
2204 DATA 4,8,0,0,6,8,0
2205 DATA 0,8,0,8,8,8,0
2206 DATA 0,8,0,0,0,0,0
2207 DATA 0,8,8,8,8,8,8
2208 DATA 0,0,0,3,0,0,8
2209 DATA 0,8,0,8,0,0,0
2210 DATA 0,8,0,8,0,8,0
2211 DATA 4,0,0,0,0,0,5
2250 DATA 8,0,8,8,8,8,8
2251 DATA 8,0,0,0,8,0,8
2252 DATA 0,0,8,0,8,3,8
2253 DATA 8,0,8,0,0,0,8
2254 DATA 8,0,8,0,8,5,8
2255 DATA 8,0,8,8,8,0,8
2256 DATA 8,0,0,0,0,0,8
2257 DATA 6,0,0,8,8,8,8
2258 DATA 8,5,0,0,0,0,0
2259 DATA 8,0,0,8,0,5,0
2260 DATA 4,0,0,8,2,0,0
2261 DATA 8,0,8,8,0,8,8
2300 DATA 0,0,0,0,0,0,4
2301 DATA 0,8,8,0,8,8,0
2302 DATA 0,8,0,0,0,8,0
2303 DATA 6,8,0,0,3,8,0
2304 DATA 0,8,0,0,0,8,1
2305 DATA 0,8,0,5,0,8,0
2306 DATA 0,8,0,5,0,8,0
2307 DATA 0,8,0,0,0,8,0
2308 DATA 0,8,0,0,0,8,0
2309 DATA 2,8,0,0,0,8,0
2310 DATA 0,8,8,8,8,8,0
2311 DATA 0,0,0,0,0,0,5
2350 DATA 0,0,0,8,0,0,0
2351 DATA 0,0,0,8,0,0,0
2352 DATA 0,4,0,8,0,1,0
2353 DATA 0,0,0,8,0,0,0
2354 DATA 0,0,0,0,0,0,0
2355 DATA 8,8,8,0,8,8,8
2356 DATA 8,8,8,0,8,8,8
2357 DATA 0,0,0,0,0,0,0
2358 DATA 0,0,0,8,0,0,0
2359 DATA 0,3,0,8,0,6,0
2360 DATA 0,0,0,8,0,0,0
2361 DATA 0,0,0,8,0,0,0
2400 DATA 0,0,0,8,0,0,0
2401 DATA 0,8,0,8,0,8,0
2402 DATA 0,8,0,8,0,8,0
2403 DATA 6,8,2,8,0,8,0
2404 DATA 8,8,0,0,0,8,5
2405 DATA 0,0,0,8,0,8,4
2406 DATA 0,8,8,8,0,8,0
2407 DATA 0,0,0,0,1,8,0
2408 DATA 8,8,8,0,8,8,0
2409 DATA 0,0,5,0,0,0,0
2410 DATA 0,8,8,8,8,8,0
2411 DATA 0,0,0,0,0,0,0
2450 DATA 0,0,0,8,0,0,0
2451 DATA 0,0,0,8,5,8,0
2452 DATA 0,3,0,8,0,0,0
2453 DATA 0,0,0,8,0,8,0
2454 DATA 0,5,0,8,0,0,2
2455 DATA 0,0,0,0,0,8,0
2456 DATA 0,0,0,8,0,8,5
2457 DATA 0,5,0,8,0,0,0
2458 DATA 0,0,0,8,0,8,0
2459 DATA 0,0,0,8,0,0,0
2460 DATA 0,5,0,8,0,8,0
2461 DATA 0,0,0,8,0,0,6
2500 DATA 8,6,0,0,8,0,0
2501 DATA 0,0,8,0,0,0,8
2502 DATA 8,0,0,0,8,0,4
2503 DATA 8,8,0,8,8,8,0
2504 DATA 8,0,0,0,8,0,0
2505 DATA 0,0,8,4,0,0,8
2506 DATA 8,0,0,0,8,0,0
2507 DATA 8,8,1,8,8,8,8
2508 DATA 8,0,0,0,8,2,0
2509 DATA 0,0,5,0,0,0,8
2510 DATA 8,0,0,0,8,0,0
2511 DATA 8,8,0,8,8,8,0
2550 DATA 8,0,0,0,4,0,5
2551 DATA 0,0,8,0,5,8,0
2552 DATA 0,8,0,0,0,8,0
2553 DATA 0,0,1,8,0,0,0
2554 DATA 8,8,0,5,0,8,4
2555 DATA 6,0,0,0,0,8,0
2556 DATA 0,5,8,8,5,0,0
2557 DATA 0,8,0,0,0,8,0
2558 DATA 0,0,0,8,0,0,2
2559 DATA 8,0,8,0,0,8,0
2560 DATA 8,3,0,0,5,0,0
2561 DATA 0,0,5,0,0,0,5
5000 SOUND ON:PLAY "MB"
5001 FOR A=800 TO 900 STEP 5:SOUND A,.2,15,0:NEXT:FOR A=900 TO 110 STEP -20:SOUND A,.1,15,0:NEXT
5002 PP=190:PUT(XX,YY),F,PSET
5005 FOR V=15 TO 0 STEP -1:FOR A=500 TO 600 STEP 20:SOUND A,.4,V,0:NEXT:NEXT
5006 PUT(XX,YY),N,PSET:FOR P=1 TO PP:NEXT:PUT(XX,YY),O,PSET:FOR V=15 TO 6 STEP -1:NOISE 4,V,.5:NOISE 5,V,.5:NEXT:PUT(XX,YY),P,PSET:FOR P=1 TO PP:NEXT:PUT(XX,YY),Q,PSET
5010 L=L-1:COLOR 10:LOCATE 11,16:PRINT STRING$(L,4)" "
5015 IF L=0 THEN 6025
5020 FOR V=15 TO 0 STEP -1:NOISE 4,V,1:NEXT:FOR V=0 TO 15:FOR A=800 TO 900 STEP 20:SOUND A,.2,V,0:NEXT:NEXT
5025 GOTO 390
5999 END
6000 PUT(X2,Y2),A,PSET
6005 FOR A=500 TO 110 STEP -15:SOUND A,.5,15,0:NEXT
6010 FOR Z=1 TO 3
6015 FOR V=15 TO 0 STEP -1:NOISE 4,V,.2:NOISE 5,V,.2:COLOR 1,V:NEXT
6020 NEXT
6025 PUT(40,80),R,PSET
6030 RESTORE 6035
6031 SOUND ON:PLAY "MB"
6035 DATA 139,698,1047,277,698,932,139,698,932,277,698,1047,139,698,932
6036 DATA 139,698,1047,277,698,932,139,698,932,277,698,1047,139,698,932
6037 DATA 156,698,1047,311,698,932,156,698,932,311,698,1047,156,698,932
6038 DATA 156,698,1047,311,698,932,156,698,932,311,698,1047,156,698,932
6039 DATA 311,698,1245,156,698,1109,311,698,1047,156,698,932
6040 DATA 175,698,1047,262,698,1047,349,698,1047,262,698,1047,175,698,1047
6041 P1=3:P2=3:P3=2
6045 FOR Z=1 TO 29:READ A,B,C
6050 SOUND A+P1,1,15,0:SOUND B+P2,1,14,1:SOUND C+P3,1,14,2:SOUND A-P1,1,14,0:SOUND B-P2,1,14,1:SOUND C-P3,1,14,2:SOUND A+P1,1,12,0:SOUND B+P2,1,14,1:SOUND C+P3,1,14,2:SOUND A-P1,1,10,0:SOUND B-P2,1,12,1:SOUND C-P3,1,12,2
6055 NEXT
6060 FOR X=1 TO 5:IF S>Y(X) THEN 6100 ELSE NEXT:SCREEN 2:SCREEN 3:GOTO 100
6100 SCREEN 2:SCREEN 3:FOR V=15 TO 0 STEP -2:NOISE 4,V,1:NOISE 7,V,1:NEXT:PUT(47,10),S
6105 COLOR 12:LOCATE 8,3:PRINT "ENTER YOUR NAME"
6110 IF S>Y(1) THEN Y(5)=Y(4):Y(4)=Y(3):Y(3)=Y(2):Y(2)=Y(1):Y$(5)=Y$(4):Y$(4)=Y$(3):Y$(3)=Y$(2):Y$(2)=Y$(1):PS=1:GOTO 6200
6115 IF S>Y(2) THEN Y(5)=Y(4):Y(4)=Y(3):Y(3)=Y(2):Y$(5)=Y$(4):Y$(4)=Y$(3):Y$(3)=Y$(2):PS=2:GOTO 6200
6120 IF S>Y(3) THEN Y(5)=Y(4):Y(4)=Y(3):Y$(5)=Y$(4):Y$(4)=Y$(3):PS=3:GOTO 6200
6125 IF S>Y(4) THEN Y(5)=Y(4):Y$(5)=Y$(4):PS=4
6130 IF S>Y(5) THEN PS=5:GOTO 6200
6135 PRINT:PRINT "CRAZY ERROR.":END
6200 IF PS=1 THEN Y(1)=S:Y$(1)=""
6205 IF PS=2 THEN Y(2)=S:Y$(2)=""
6210 IF PS=3 THEN Y(3)=S:Y$(3)=""
6215 IF PS=4 THEN Y(4)=S:Y$(4)=""
6220 IF PS=5 THEN Y(5)=S:Y$(5)=""
6225 Y=9:FOR X=1 TO 5:Y=Y+2:COLOR 11:LOCATE Y,6:PRINT Y(X):COLOR 4:LOCATE Y,10:PRINT "::":COLOR 11:LOCATE Y,12:PRINT Y$(X)
6226 IF X=PS THEN COLOR 2:LOCATE Y,6:PRINT Y(X)
6230 NEXT
6235 COLOR 2
6240 Y=9:FOR X=0 TO PS:Y=Y+2:NEXT
6245 T$=""
6250 A$=INKEY$
6255 IF A$="" THEN PALETTE 2,RND*15:GOTO 6250
6260 IF ASC(A$)>64 AND ASC(A$)<123 THEN C$=A$:GOTO 6300
6261 IF ASC(A$)=23 THEN GOTO 6100
6262 IF ASC(A$)=13 AND T$="" THEN FOR V=15 TO 0 STEP -1:NOISE 5,15,.5:NEXT:T$="???":Y$(PS)=T$:PALETTE 2,2:GOTO 200
6265 NOISE 0,15,1:GOTO 6250
6300 COLOR 2:LOCATE Y-2,12:PRINT T$+C$
6301 FOR V=15 TO 0 STEP -1:NOISE 5,V,.5:NOISE 4,V,1:PALETTE 2,RND*15:NEXT
6305 T$=T$+C$:C$="":IF LEN(T$)=3 THEN FOR V=15 TO 0 STEP -2:SOUND 500,.5,V,0:NEXT:Y$(PS)=T$:PALETTE 2,2:GOTO 200
6310 GOTO 6250
7000 PUT(XX,YY),E,PSET:PUT(X2,Y2),A,PSET:FOR Z=1 TO 3
7005 FOR A=100 TO 900 STEP 60:SOUND A,.5,15,0:COLOR 1,1+RND*14:NEXT
7010 NEXT
7011 COLOR 1,0
7012 Y2=YY:X2=XX
7015 FOR A=700 TO 900 STEP 40:SOUND A,.5,15,0:NEXT:FOR A=900 TO 100 STEP -40:SOUND A,.5,15,0:NEXT
7020 FOR S=S TO S+50
7025 SOUND 100,.5,15,0
7030 A1$=STR$(S):A1$=RIGHT$(A1$,LEN(A1$)-1):COLOR 14:LOCATE 7,16:PRINT A1$
7035 NEXT
7040 V(U)=7
7045 RETURN
7050 A1$=STR$(S):A1$=RIGHT$(A1$,LEN(A1$)-1):COLOR 14:LOCATE 7,16:PRINT A1$:RETURN
8000 FOR A=1 TO 50:PSET(RND*111,RND*200),15:PSET(RND*111,RND*200),7:NEXT
8005 CIRCLE(50,50),20,10:PAINT(50,50),10
8010 CIRCLE(10,150),50,9:PAINT(10,150),9
8015 RETURN
8020 AA=.5:FOR A=1 TO 11:LINE(0,100+AA)-(111,100+AA),2:AA=AA+AA:NEXT
8021 FOR A=1 TO 50:PSET(RND*111,RND*100),15:PSET(RND*111,RND*100),7:NEXT
8025 LINE(0,100)-(30,80),14:LINE(30,80)-(60,90),14:LINE(60,90)-(100,60),14:LINE(100,60)-(111,50),14:LINE(111,50)-(111,100),14:LINE(111,100)-(0,100),14:PAINT(10,95),14
8030 CIRCLE(20,20),7,12:PAINT(20,20),12
8035 RETURN
8999 END
